#include "sort.h"

//该文件中测试使用模拟qsort函数的函数Bubble_Sort

//void Print(int* arr, int len) //打印函数
//{
//	int i = 0;
//	for (i = 0; i < len; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return;
//}
//
//
//void Bubble(int* arr, int len) //冒泡排序排序整型数据
//{
//	int i = 0;
//	for (i = 0; i < len - 1; i++) //确定趟数
//	{
//		int j = 0;
//		for (j = 0; j < len - 1 - i; j++) //确定每趟交换的对数
//		{
//			if(arr[j] > arr[j + 1])
//			{
//				int tmp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tmp;
//			}
//		}
//	}
//	return;
//}
//
//
//int main() //先完成一个冒泡排序排序整型数据
//{
//	int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//	Bubble(arr, len);
//	Print(arr, len);
//	
//}


void test1(void) //使用bubble_sort函数排序整型
{
	int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
	size_t len = sizeof(arr) / sizeof(arr[0]);
	Bubble_Sort(arr, len, sizeof(arr[0]), Compare_Int);
	Print(arr, len);
	return;
}

void test2(void) //使用bubble_sort函数排序结构体中的整型成员变量
{
	struct stu arr[] = { {"zhangsan", 18},{"lisi", 30},{"wangwu", 25},{"wangyi", 22},{"liuwen", 10} };
	size_t len = sizeof(arr) / sizeof(arr[0]);
	Bubble_Sort(arr, len, sizeof(arr[0]), Sompare_Structure_Name);
	Print_Name(arr, len);
	return;
}

void test3(void) //使用bubble_sort函数排序结构体中的字符型成员变量
{
	struct stu arr[] = { {"zhangsan", 18},{"lisi", 30},{"wangwu", 25},{"wangyi", 22},{"liuwen", 10} };
	size_t len = sizeof(arr) / sizeof(arr[0]);
	Bubble_Sort(arr, len, sizeof(arr[0]), Sompare_Structure_Age);
	Print_Age(arr, len);
	return;
}

int main()
{
//	test1(); //使用bubble_sort函数排序整型
	test2(); //使用bubble_sort函数排序结构体中的整型成员变量
	test3(); //使用bubble_sort函数排序结构体中的字符型成员变量
	
	return 0;
}
